-
Notifications
You must be signed in to change notification settings - Fork 74
[fix] Kinetic devel mongocxx c++11 #224
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[fix] Kinetic devel mongocxx c++11 #224
Conversation
|
@hawesie yes, I was afraid that EDIT: apparently they don't have http://build.ros.org/job/Kbin_uX64__libmongocxx_ros__ubuntu_xenial_amd64__binary/15/consoleFull I again built without C++11; Do you know if there is a simple way of testing this without sending PRs and releasing? |
Oh no! I don't know I'm afraid. Paging @marc-hanheide who might know a bit more about testing builds for the build farm. (he's away for a few days though) |
Did you check the development builds on our own build farm: https://lcas.lincoln.ac.uk/buildfarm/job/Kdev__mongodb_store__ubuntu_xenial_amd64/ First check is to see if they build the way expect them. |
@marc-hanheide yes, those builds are correct. It is interesting, that even on the ROS buildfarm, when looking at: http://build.ros.org/job/Kbin_uX64__mongodb_store__ubuntu_xenial_amd64__binary/16/consoleFull , it builds with the correct flag, finds that it is kinetic, uses the c++11 flag; It is only when building the deb for libmongocxx, that it fails at every check and ends up building without C++11 support. |
Yeah, the debs only build with a bare minimum of dependencies, i.e. likely without lsb_release installed. |
hmm, so do you see any other CMake magic options for building without C++11 on indigo or could we create a separate |
I'm grasping at a straw, how about checking |
@furushchev good point; I will try with that; Although it would be really nice to be able to see the behaviour without the need for a new release :). @marc-hanheide yes it seems to be with really the bare minimum. What struck me odd is that |
@furushchev after looking at this for a while, it seems like Different idea that a colleague just gave me. What about putting lsb-release as a buildtool-dependency? This way it would get installed in the docker on the build farm. |
@bbferka I build on OSX, but in a catkin environment so the distro version is available. |
@hawesie true, in that case putting lsb-release in the |
This is not correct. When looking through the build log you will find the following line:
So the environment is being set up (if the ROS package depends on The binary jobs for the other packages have actually been built with Only |
@dirk-thomas thank you for your detailed explanation. This explains everything. I saw that all the other packages were built correctly, but I did not know about the souerce of |
@furushchev @hawesie it seems like #223 did not completely solve the problem. I added ros-shadow-fixed to my sources and installed libmongocxx but I still end up with the undefined behaviour. This is weird because building from source workes just fine, so I've been looking through the Jenkins build logs on build.ros.org:
http://build.ros.org/job/Kbin_uX64__libmongocxx_ros__ubuntu_xenial_amd64__binary/14/consoleFull
It looks like it built without C++11 support (search for c++11 in the log) on the build farm. The reason is that during this build there is no ROS environment being sourced, so the check for ROS_DISTRO does not work.
I've changed this now to check if the variable is set, and if it's not check for the ubuntu version; What do you think?